package com.enjoyor.soa.traffic.api.service.dubbo.bigdata;

import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.Date;
import java.util.List;

/**
 * 公交专用道流量统计
 */
public interface DubboFlowBusLaneService {

    /**
     *  公交专用道-流量趋势查询  按小时
     * @param token
     * @param busRestrictId 公交线路
     * @param pointIds 点位
     * @param startDay
     * @param endDay
     * @return List &lt; FlowBusByTimeDto &gt;
     */
    public ResultPojo trendBusLaneFlowByHour(String token, String busRestrictId, List<String> pointIds, Date startDay, Date endDay);

    /**
     * 公交专用道-流量趋势查询  按天
     * @param token
     * @param busRestrictId 公交线路
     * @param pointIds 点位
     * @param startDay
     * @param endDay
     * @return List &lt; FlowBusByTimeDto &gt;
     */
    public ResultPojo trendBusLaneFlowByDay(String token, String busRestrictId, List<String> pointIds, Date startDay, Date endDay);

    /**
     * 公交专用道-按号牌类型统计
     * @param token
     * @param busRestrictId 公交线路
     * @param pointIds 点位
     * @param startDay
     * @param endDay
     * @return List &lt; FlowByLicenseTypeDto &gt;
     */
    public ResultPojo statBusLaneFlowByLicenseType(String token, String busRestrictId, List<String> pointIds, Date startDay, Date endDay);


    /**
     * 公交专用道-按点位统计
     * @param token
     * @param busRestrictId 公交线路
     * @param pointIds 点位
     * @param startDay
     * @param endDay
     * @param licenseType 号牌类型
     * @return List &lt; FlowByPointDto &gt;
     */
    public ResultPojo statBusLaneFlowByPoint(String token, String busRestrictId, List<String> pointIds, Date startDay, Date endDay, String licenseType);
}
